package data.nanjing.expo.services;

import data.nanjing.expo.models.dao.NotifyServiceDao;
import data.nanjing.expo.models.domain.NotifyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;
@Service
public class NotifyServiceService {
    @Autowired
    private NotifyServiceDao notifyServiceDao;

    public List<NotifyService> findNotifyByUserId(int userId, String notifyStatus, Integer pageNumber, Integer pageSize){
        int pageStart = (pageNumber - 1) * pageSize;
        return notifyServiceDao.findNotifyByUserId(userId, notifyStatus, pageStart, pageSize);
    }

    public Integer findNotifyCountByUserId(Integer userId, String notifyStatus) {
        return notifyServiceDao.findNotifyCountByUserId(userId, notifyStatus);
    }

    public void addNotify(NotifyService notifyService){
        notifyServiceDao.addNotify(notifyService);
    }

    public void updateNotifyStatusAndReason(int id,String sendStatus,String sendFailReason){
        notifyServiceDao.updateNotifyStatusAndReason(id,sendStatus,sendFailReason);
    }

    public void updateNotifyStatus(int id, String sendStatus) {
        notifyServiceDao.updateNotifyStatus(id, sendStatus);
    }

    /**
     * 更新状态
     * @param notifyStatus
     * @param userId
     * @param notifyId
     */
    public void updateNotifyStatusByIdAndUserId(Integer notifyStatus, Integer userId, Integer notifyId) {
        notifyServiceDao.updateNotifyStatusByIdAndUserId(notifyStatus, userId, notifyId);
    }

    //获得未读消息数量
    public Integer selectNotifyCountByStatus(Integer userId, int status) {
        return notifyServiceDao.selectNotifyCountByStatus(userId, status);
    }
}
